home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 05 - 1989 / 05.12 Dec 89 / ASM Program / Pascal Source Code (LSP) < prev    next >
Encoding:
Text File  |  1988-07-01  |  1.2 KB  |  55 lines  |  [TEXT/PJMM]

  1. PROGRAM TestSM;
  2.     USES
  3.         SANE;
  4.     TYPE
  5.         element = PACKED RECORD
  6.                 empty : integer;
  7.                 n : extended;
  8.             END;
  9.         vector = ARRAY[0..19] OF element;
  10.         matrix = RECORD
  11.                 rows : integer;
  12.                 columns : integer;
  13.                 vecPtr : ^vector
  14.             END;
  15.  
  16.     VAR
  17.         inVect : vector;
  18.         outVect : vector;
  19.         i : integer;
  20.         inMatrix, outMatrix : matrix;
  21.         scalar : extended;
  22.         error : integer;
  23.  
  24.  
  25.     FUNCTION ScaleMult (scalar : extended;
  26.                                     VAR inMat, outMat : matrix) : integer;
  27.     external;
  28.  
  29.  
  30. BEGIN
  31.     ShowText;
  32.     scalar := 35;
  33.     inMatrix.rows := 0;
  34.     inMatrix.columns := 19;
  35.     inMatrix.VecPtr := @inVect;
  36.     outMatrix.rows := 0;
  37.     outMatrix.columns := 19;
  38.     outMatrix.VecPtr := @outVect;
  39.     writeln('scalar = ', scalar);
  40.     writeln('scalar, inMatrix, outMatrix, error, inVect');
  41.     write(longint(@scalar), longint(@inMatrix), longint(@outMatrix), longint(@error));
  42.     writeln(longint(@inVect));
  43.     FOR i := 0 TO 19 DO
  44.         BEGIN
  45.             inVect[i].empty := 255;
  46.             inVect[i].n := i;
  47.         END;
  48.     error := ScaleMult(scalar, inMatrix, outMatrix);
  49.     writeln('error = ', error);
  50.     writeln('i' : 5, 'inVect' : 10, 'outVect' : 10);
  51.     FOR i := 0 TO 19 DO
  52.         writeln(i : 5, inVect[i].n : 10, outVect[i].n : 10);
  53.     writeln('scalar = ', scalar);
  54.     writeln('The End...');
  55. END.